home *** CD-ROM | disk | FTP | other *** search
- /* XBrowse2Click version 1.0, 30-JUL-1992 ⌐1992 A.D. Software
-
- THIS IS NOT FREE - see Shareware Details at end.
-
- OVERVIEW
- XBrowse2Click provides two filters for solving problems with the
- user-interface of FoxBase+/mac.
- 1) the Browse filter allows you to convert double-clicking or hitting
- the Tab, Enter or Return keys into a command-keystroke of your
- choice (eg: command-O for Open). This enables you to double-click
- Browse lines and go straight into editing a record.
-
- 2) the Return filter simply converts Return characters to Tabs. This is
- useful if you want to have the TAB and RETURN keys jump between fields
- yet still have Enter terminate the READ and have looping back to the
- top field (ie: using SET STRICT ON). The problem with FoxBase is that
- the Return key is usually treated the same as Enter.
-
- DETAILS OF USING THE XFCN
-
- THEORY
- The XFCN actually installs a separate piece of code for each of the filters,
- very much like the "inits" such as PopChar, screensavers etc. Therefore it is
- VERY important to Deactivate the current filter when you are finished.
-
- The filters are aware when you "change application layers" under MultiFinder
- or System 7.
-
- GENERAL USE OF XFCN'S
- XFCN's (and XCMDs) live in the current RESOURCE file, either your default
- FOXUSER file or a file that you've specified with a SET RESOURCE TO. They are
- loaded with the LOAD command (eg: LOAD XBrowse2Click FUNCTION). Note that the
- FUNCTION keyword is used as shown in this example for any XFCN's (to load an
- XCMD you just specify LOAD anXCMD).
-
- The difference between XFCN and XCMD is that the XFCN returns a value, much
- like a UDF.
-
- To call an XFCN you issue a CALL command which returns a value to the
- specified variable (creating it if doesn't already exist).
- eg: CALL XBrowse2Click TO res WITH "L"
-
- Normally, you can reuse the memory of an XFCN with the RELEASE MODULE itsName
- command. However, this should NOT be applied to this XFCN - load it once,
- early, and leave it loaded (you don't have to release it if you are quitting
- your program as the quitting action cleans up the memory).
-
- WARNING
- 1) It will cause all kind of weird errors if you LOAD the same XFCN twice
- while running, without doing a RELEASE MODULE of the earlier LOAD.
-
- 2) It is VERY important not to RELEASE MODULE this XFCN while a filter is
- active, as another load of the XFCN wouldn't know about the active filter.
-
-
- DETAILS OF USING XBrowse2Click
- In general, the return value is used to indicate success or the nature of an
- error. The first parameter is a "switch" to tell the XFCN which operation to
- perform.
-
- The following descriptions show a sample usage of each call, with full details
- of any additional parameters and the return value(s).
-
-
- LOADING THE FILTERS
- This step is performed ONCE for each run of your program.
-
- CALL XBrowse2Click TO res WITH "L"
-
- RETURN VALUES
- 0 = OK
- -1 = invalid function switch
- -2 = couldn't find one of the filters
-
-
- ACTIVATING THE BROWSE FILTER
-
- OTHER PARAMETERS
- 2 - letter of the command key to send
- 3 - bitmask of what events are converted to a command-key
- 0 = double-click
- 1 = Enter key
- 2 = Return key
- 3 = Tab key
- eg: value of 15 = react to all four events
- value of 3 = react to double-click and Enter but NOT Tab or Return
-
- CALL XBrowse2Click TO res WITH "B", "O", 3
-
- RETURN VALUES
- 0 = OK
- -1 = invalid function switch
-
-
- ACTIVATING THE RETURN FILTER
- Every Return keystroke will be converted to a Tab, until you perform a
- Deactivate. Note: this only applies to the plain Return key, pressed
- without any modifiers (eg: option-Return, shift-Return). You can therefore use
- option-Return within memo fields, the same as you can use option-Tab
-
- CALL XBrowse2Click TO res WITH "R"
-
- RETURN VALUES
- 0 = OK
- -1 = invalid function switch
-
- DEACTIVATING EITHER FILTER
- MUST be carried out before quitting FoxBase - simply stops the filter from
- examining what's happening on the Mac.
-
- CALL XBrowse2Click TO res WITH "D"
-
- RETURN VALUES
- 0 = OK
- -1 = invalid function switch
-
-
- SHAREWARE DETAILS
- Godfather Holdings Pty Ltd as trustee for
- The Dent Family Trust
- Trading as A.D. Software
- Australian Company Number 009 453 007
-
- Contact: Andy Dent BSc, MACS
- 94 Bermuda Drive, Ballajura Western Australia 6066
- Phone/Fax: (09) 249 2719
- International: 61 9 249 2719
- CompuServe: 100033, 3241
- Internet: dent@dialix.oz.au
-
- PAYMENT VIA
- International Money Orders
- Australian dollars cash
- Australian bank or personal cheques (made out to A.D. Software)
- Visa, Mastercard or Australian Bankcard
-
- FEE & UPDATE DETAILS
- The fee is $50 Australian (due to our rotten exchange rate this is about $36 US).
- Registered users will receive free upgrades with notices mailed (electronically
- where possible) of new versions being uploaded, and available on disk for a
- nominal shipping fee, on request.
-
- OTHER FOXBASE XCMDS
- XScrollList (due out mid-August) Provides loading, filing & display of
- "arrays" in normal Mac dialogs with usual list handling facilities supporting
- arrow keys, type first few letters to jump to an entry etc.
- Arrays stored outside of Fox 64kb memory limit and loaded many times
- faster than is possible with arrays inside Fox.
- Dialog returns list entry number, record number (optional) and text of entry
- selected.
- Dialogs are constructed as resources (using Apple's ResEdit) and can have as
- many buttons as you like, the name of the button pressed being returned to a
- Fox variable.
- Multiple selections are also supported, using the standard technique of
- shift-click to select a contiguous range or command-click for ad-hoc items.
-
- OTHER PRODUCTS & SERVICES
- A.D. Software is a custom software development house ╤ if you have any other
- XCMD or other programming requirements, please contact me for further information.
-
- Major products include a FORTRAN->Pascal translator and multi-user classified
- advertisement publishing system.
- ---------------------------------------------------------------------------------*/
-